ABC054 C - One-stroke Path
https://atcoder.jp/contests/abc054/tasks/abc054_c
提出
code: python
from collections import deque
n, m = map(int, input().split())
ab = list(map(int, input().split())) for _ in range(n)
graph = [[] for _ in range(n+1)]
visited = False for _ in range(n+1)
for i in ab:
graph[i0].append(i1)
graph[i1].append(i0)
print(graph)
que = deque([graph1])
ans = 0
while que:
next = que.popleft()
for i in next:
if not (visitedi):
visitedi = True
que.append(graphi)
print(visited)
解答
code: python
import itertools
from collections import defaultdict
n, m = map(int, input().split())
ab = list(map(int, input().split())) for _ in range(m)
d = defaultdict(list)
for a, b in ab:
da.append(b)
db.append(a)
# print(d)
# defaultdict(<class 'list'>, {1: 2, 3, 2: 1, 3, 3: 1, 2})
ans = 0
# 頂点を並び替える順列を生成してループ
for top in itertools.permutations(range(1, n+1), n):
# print(top)
# (1, 2, 3)
# (1, 3, 2)
# (2, 1, 3)
# (2, 3, 1)
# (3, 1, 2)
# (3, 2, 1)
# 頂点1が始点
if top0 == 1:
# 生成した順列の中をさらにループ
for t in range(n):
# 全てにおいて条件を満たすパスが存在する
if t == n - 1:
ans += 1
break
# topt から topt + 1 に行くパスがなければ終了
if topt+1 not in d[topt]:
break
else:
break
print(ans)
テーマ
#graph
メモ
Pythonで解く蟻本(2-1: すべての基本 "全探索")
提出
AC/WA
code: python
from collections import deque
from collections import defaultdict
n, m = map(int,input().split())
ab = list(map(int, input().split())) for _ in range(m)
d = defaultdict(list)
for a, b in ab:
da.append(b)
db.append(a)
dis = 0 * (n + 1)
que = deque()
que.append(1)
dis1 = 1
while que:
now = que.popleft()
for next in dnow:
if disnext != 0:
continue
else:
disnext = disnow + 1
for i in dnext:
que.append(i)
print(dis.count(max(dis)))